package com.jdd.modules.through.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jdd.common.aspect.annotation.Dict;
import com.jdd.common.util.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 通行记录表
 * @Author: jeecg-boot
 * @Date:   2022-09-30
 * @Version: V1.0
 */
@Data
@TableName("t_through_log")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="through对象", description="通行记录表")
public class Through implements Serializable {
    private static final long serialVersionUID = 1L;

    /**主键*/
    @ApiModelProperty(value = "主键")
    private String id;
    /**进出类型*/
    @Excel(name = "进出类型", width = 15)
    @ApiModelProperty(value = "进出类型")
    private String accessType;
    /**设备序列号*/
    @Excel(name = "设备序列号", width = 15)
    @ApiModelProperty(value = "设备序列号")
    private String deviceSn;
    /**设备名称*/
    @Excel(name = "设备名称", width = 15)
    @ApiModelProperty(value = "设备名称")
    private String deviceName;
    /**
     * 通行类型
     * 1人脸识别
     * 2韦根卡识别
     * 3身份证识别
     */
    @Excel(name = "通行类型", width = 15)
    @ApiModelProperty(value = "通行类型")
    @Dict(dicCode = "through_type")
    private Integer throughType;
    /**通行人姓名*/
    @Excel(name = "通行人姓名", width = 15)
    @ApiModelProperty(value = "通行人姓名")
    private String peopleName;

    /**
     * 1.识别成功
     * 2.无此人员ID
     * 3.匹配失败
     * 4.权限已到期
     * 5.有效期时段外
     * 6.人员群组，人员太少
     * 7.身份证识别失败
     * 11.未戴安全帽禁止通行
     * 12.黑名单人员
     */
    @Excel(name = "识别结果类型", width = 15)
    @ApiModelProperty(value = "识别结果类型")
    @Dict(dicCode = "through_result_type")
    private Integer resultType;

    /**项目名称*/
    @Excel(name = "项目名称", width = 15)
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    /**项目id*/
    @Excel(name = "项目id", width = 15)
    @ApiModelProperty(value = "项目id")
    private String projectId;
    /**照片*/
    @Excel(name = "照片", width = 15)
    @ApiModelProperty(value = "照片")
    private String picture;
    /** 体温*/
    @Excel(name = " 体温", width = 15)
    @ApiModelProperty(value = " 体温")
    private String temperature;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;

    private String sysProjectCode;
}
